# -*- encoding: utf-8 -*-
from bct.tools.client.bct4_client import BCT4Client
from bct.tools.http.calendar.trade_calendar_dto import TradingCalendarDTO, Holiday

holidays = [{
    'holiday': '2019-01-01',
    'note': '元旦'
}, {
    'holiday': '2019-02-04',
    'note': '除夕'
}, {
    'holiday': '2019-02-05',
    'note': '春节'
}, {
    'holiday': '2019-02-06',
    'note': '初二'
}, {
    'holiday': '2019-02-07',
    'note': '初三'
}, {
    'holiday': '2019-02-08',
    'note': '初四'
}, {
    'holiday': '2019-05-01',
    'note': '劳动节'
}, {
    'holiday': '2019-06-07',
    'note': '端午节'
}, {
    'holiday': '2019-09-13',
    'note': '中秋节'
}, {
    'holiday': '2019-10-01',
    'note': '国庆节'
}, {
    'holiday': '2019-10-02',
    'note': '国庆节'
}, {
    'holiday': '2019-10-03',
    'note': '国庆节'
}, {
    'holiday': '2019-10-04',
    'note': '国庆节'
}, {
    'holiday': '2019-10-07',
    'note': '国庆节'
}, {
    'holiday': '2020-01-01',
    'note': '元旦'
}, {
    'holiday': '2020-01-27',
    'note': '初三'
}, {
    'holiday': '2020-01-28',
    'note': '初四'
}, {
    'holiday': '2020-01-29',
    'note': '初五'
}, {
    'holiday': '2020-01-30',
    'note': '初六'
}, {
    'holiday': '2020-04-04',
    'note': '清明节'
}, {
    'holiday': '2020-05-01',
    'note': '劳动节'
}, {
    'holiday': '2020-06-25',
    'note': '端午节'
}, {
    'holiday': '2020-10-01',
    'note': '国庆节'
}, {
    'holiday': '2020-10-02',
    'note': '国庆节'
}, {
    'holiday': '2020-10-05',
    'note': '国庆节'
}, {
    'holiday': '2021-01-01',
    'note': '元旦'
}, {
    'holiday': '2021-02-11',
    'note': '初一'
}, {
    'holiday': '2021-02-12',
    'note': '初一'
}, {
    'holiday': '2021-02-15',
    'note': '初四'
}, {
    'holiday': '2021-02-16',
    'note': '初五'
}, {
    'holiday': '2021-02-17',
    'note': '初六'
}, {
    'holiday': '2021-04-05',
    'note': '清明节'
}, {
    'holiday': '2021-05-03',
    'note': '劳动节'
}, {
    'holiday': '2021-05-04',
    'note': '劳动节'
}, {
    'holiday': '2021-05-05',
    'note': '劳动节'
}, {
    'holiday': '2021-06-14',
    'note': '端午节'
}, {
    'holiday': '2021-09-20',
    'note': '中秋节'
}, {
    'holiday': '2021-09-21',
    'note': '中秋节'
}, {
    'holiday': '2021-10-01',
    'note': '国庆节'
}, {
    'holiday': '2021-10-04',
    'note': '国庆节'
}, {
    'holiday': '2021-10-05',
    'note': '国庆节'
}, {
    'holiday': '2021-10-06',
    'note': '国庆节'
}, {
    'holiday': '2021-10-07',
    'note': '国庆节'
}, {
    'holiday': '2022-01-03',
    'note': '元旦'
}, {
    'holiday': '2022-01-31',
    'note': '初一'
}, {
    'holiday': '2022-02-01',
    'note': '初二'
}, {
    'holiday': '2022-02-02',
    'note': '初三'
}, {
    'holiday': '2022-02-03',
    'note': '初四'
}, {
    'holiday': '2022-02-04',
    'note': '初五'
}, {
    'holiday': '2022-04-04',
    'note': '清明节'
}, {
    'holiday': '2022-04-05',
    'note': '清明节'
}, {
    'holiday': '2022-05-02',
    'note': '劳动节'
}, {
    'holiday': '2022-05-03',
    'note': '劳动节'
}, {
    'holiday': '2022-05-04',
    'note': '劳动节'
}, {
    'holiday': '2022-06-03',
    'note': '端午节'
}, {
    'holiday': '2022-09-12',
    'note': ''
}, {
    'holiday': '2022-10-03',
    'note': '国庆节'
}, {
    'holiday': '2022-10-04',
    'note': '国庆节'
}, {
    'holiday': '2022-10-05',
    'note': '国庆节'
}, {
    'holiday': '2022-10-06',
    'note': '国庆节'
}, {
    'holiday': '2022-10-07',
    'note': '国庆节'
}, {
    'holiday': '2023-01-02',
    'note': '元旦'
}, {
    'holiday': '2023-01-23',
    'note': '初二'
}, {
    'holiday': '2023-01-24',
    'note': '初三'
}, {
    'holiday': '2023-01-25',
    'note': '初四'
}, {
    'holiday': '2023-01-26',
    'note': '初五'
}, {
    'holiday': '2023-01-27',
    'note': '初六'
}, {
    'holiday': '2023-04-05',
    'note': '清明节'
}, {
    'holiday': '2023-04-06',
    'note': '清明节'
}, {
    'holiday': '2023-04-07',
    'note': '清明节'
}, {
    'holiday': '2023-05-01',
    'note': '劳动节'
}, {
    'holiday': '2023-05-02',
    'note': '劳动节'
}, {
    'holiday': '2023-05-03',
    'note': '劳动节'
}, {
    'holiday': '2023-06-22',
    'note': '端午节'
}, {
    'holiday': '2023-06-23',
    'note': '端午节'
}, {
    'holiday': '2023-09-29',
    'note': '中秋节'
}, {
    'holiday': '2023-10-02',
    'note': '国庆节'
}, {
    'holiday': '2023-10-03',
    'note': '国庆节'
}, {
    'holiday': '2023-10-04',
    'note': '国庆节'
}, {
    'holiday': '2023-10-05',
    'note': '国庆节'
}]

if __name__ == '__main__':
    client = BCT4Client('http://10.1.6.69', 'script', '123456a.')
    calendar_id = 'DEFAULT_CALENDAR'
    calendar_name = '默认交易日历'

    calendar = TradingCalendarDTO()
    calendar.calendar_id = calendar_id
    calendar.calendar_name = calendar_name
    holidays_array = []
    for h in holidays:
        holidays_array.append(Holiday(h))
    calendar.holidays = holidays_array

    client.calendar_upsert(calendar)
